﻿using System;
using System.Collections;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Xml.Linq;
using Atendex.Infraestrutura.Repositórios;
using Atendex.Containex;
using Atendex.Dominio.Interfaces;

namespace Atendex.Web
{
    public partial class CadastrarGerente : System.Web.UI.Page
    {
        RepositorioGerente repositorio = new RepositorioGerente();

        protected void Page_Load(object sender, EventArgs e)
        {
            lblMensagem.Visible = false;
        }



        protected void btnSalvar_Click(object sender, EventArgs e)
        {

            if (!txtSenhaAdmin.Text.Equals("admin"))
            {
                ShowMensagem("Senha de Administrador Incorreta.");
            }
            else
            {
                CriarGerente();
            }
        }


        private void CriarGerente()
        {
            try
            {
                IGerente gerente = Container.CriaGerente(txtNome.Text, txtEmail.Text, txtLogin.Text, txtSenha.Text);
                repositorio.Salvar(gerente);
                gerente.EnviarEmail();

                ShowMensagem("Gerente Cadastrado com sucesso!");
                LimparCampos();
            }
            catch (Exception ex)
            {
                ShowMensagem(ex.Message);
            }

        }

        private void ShowMensagem(string mensagem)
        {
            lblMensagem.Text = mensagem;
            lblMensagem.Visible = true;
        }

        private void LimparCampos()
        {
            txtNome.Text = "";
            txtEmail.Text = "";
            txtLogin.Text = "";
            txtSenha.Text = "";
        }
    }
}
